Connecting users to entities based on recognized objects

ABSTRACT

A computer-implemented method includes detecting a distinct area within an image, comparing detected features of the distinct area within the image to reference features corresponding to a reference image, and determining that the detected distinct area matches the reference image based on the comparison between the detected features and the reference features. The method further includes receiving an indication that the user selects the detected distinct area within the image, retrieving contact information corresponding to the reference image, and causing the client device to display an interface allowing the user to contact the entity.

CROSS REFERENCES TO RELATED APPLICATIONS

This application is a continuation of U.S. Application Serial No.16/874,256, which was filed on May 14, 2020, and is titled “CONNECTINGUSERS TO ENTITIES BASED ON RECOGNIZED OBJECTS,” which is a continuationof U.S. Application Serial No. 14/703,982, which was filed on May 5,2015, and is titled “CONNECTING USERS TO ENTITIES BASED ON RECOGNIZEDOBJECTS,” which is related to U.S. Pat. Application No. 14/703,985,which was filed on May 5, 2015, and is titled “INITIATING COMMUNICATIONSBASED ON INTERACTIONS WITH IMAGES,” the entirety of each of which ishereby incorporated by reference herein.

TECHNICAL FIELD

The present disclosure generally relates to initiating various types ofcommunications with individuals or entities, and, more particularly, toinitiating communications with individuals or entities based oninteractions with images corresponding to those individuals or entities.

BACKGROUND

Typical contact lists displayed on mobile devices, such as smart phones,are difficult to navigate for many elderly or handicapped individualsThese contact lists can be very lengthy and include an overwhelmingamount of information (names, numbers, email addresses, etc.) andnavigation functionalities. For this and other reasons related tonon-intuitive interfaces, technology companies struggle to market thelatest mobile technology to the aging population.

Even for younger users and technologically savvy individuals, lengthycontact lists and typical communication interfaces can be a source offrustration. For example, when scrolling through a gallery of photos, acertain photo may prompt the user to communicate with an individualpictured in the certain photo. However, instead of immediately beingable to call, text, or otherwise communicate with the individual, theuser is inconvenienced by having to exit the gallery of photos, scrollthrough a lengthy contact list, locate the contact information of theindividual, and initiate the communication.

SUMMARY

In one embodiment, a computer-implemented method comprises detecting, byone or more processors, a distinct area within an image, comparing, bythe one or more processors, detected features of the distinct areawithin the image to reference features corresponding to a referenceimage, and determining, by the one or more processors, that the detecteddistinct area matches the reference image based on the comparisonbetween the detected features and the reference features. The methodfurther includes receiving, from a user of a client device, anindication that the user selects the detected distinct area within theimage, retrieving, by the one or more processors, contact informationcorresponding to the reference image, the contact information indicatinga method of contacting an entity represented by the reference image, andcausing, by the one or more processors, the client device to display aninterface allowing the user to contact the entity according to themethod of contacting the entity.

In another embodiment, a system for facilitating communicationscomprises one or more processors and one or more non-transitory memoriescoupled to the one or more processors. The one or more non-transitorymemories include computer executable instructions specially configuringthe computer device such that, when executed by the one or moreprocessors, the computer executable instructions cause the one or moreprocessors to: detect a distinct area within an image, compare featuresof the distinct area within the image to reference featurescorresponding to a reference image, and determine that the detecteddistinct area matches the reference image based on the comparisonbetween the detected features and the reference features. The computerexecutable instructions further cause the one or more processors toreceive an indication that the user selects the detected distinct areawithin the image, retrieve contact information corresponding to thereference image, the contact information indicating a method ofcontacting an entity represented by the reference image, and cause theclient device to display an interface allowing the user to contact theentity according to the method of contacting the entity.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example computing environment for initiatingcommunications based on interactions with images;

FIGS. 2A, 2B, 2C, and 2D illustrate example interfaces which can bedisplayed on a client device, such as the client device illustrated inFIG. 1 , and from which a user can initiate communications;

FIG. 3 is a flow diagram of an example method for initiatingcommunications with a contact based on user interactions with imageswhich can be implemented in the computing environment illustrated inFIG. 1 ;

FIGS. 4A and 4B illustrate example labeled or highlighted interfaceswhich can be displayed on a client device, such as the client deviceillustrated in FIG. 1 ;

FIGS. 5A, 5B, and 5C illustrate other example interfaces which can bedisplayed on a client device, such as the client device illustrated inFIG. 1 , and from which a user can initiate communications;

FIG. 6 illustrates a detection of distinct areas within a plurality ofimages which can be implemented by components of the computingenvironment illustrated in FIG. 1 ;

FIG. 7 illustrates another detection of distinct areas within aplurality of images which can be implemented by components of thecomputing environment illustrated in FIG. 1 ;

FIG. 8 is a flow diagram of an example method for registering detectedareas within images with a contact which can be implemented in thecomputing environment illustrated in FIG. 1 ;

FIG. 9 illustrates yet another detection of distinct areas within aplurality of images which can be implemented by components of thecomputing environment illustrated in FIG. 1 ; and

FIG. 10 is a flow diagram of an example method for detecting orrecognizing distinct areas within images based on a reference imagewhich can be implemented in the computing environment illustrated inFIG. 1 .

DETAILED DESCRIPTION

Although the following text sets forth a detailed description ofnumerous different embodiments, it should be understood that the legalscope of the description is defined by the words of the claims set forthat the end of this disclosure. The detailed description is to beconstrued as exemplary only and does not describe every possibleembodiment since describing every possible embodiment would beimpractical, if not impossible. Numerous alternative embodiments couldbe implemented, using either current technology or technology developedafter the filing date of this patent, which would still fall within thescope of the claims.

It should also be understood that, unless a term is expressly defined inthis patent using the sentence “As used herein, the term ‘_’ is herebydefined to mean...” or a similar sentence, there is no intent to limitthe meaning of that term, either expressly or by implication, beyond itsplain or ordinary meaning, and such terms should not be interpreted tobe limited in scope based on any statement made in any section of thispatent (other than the language of the claims). To the extent that anyterm recited in the claims at the end of this patent is referred to inthis patent in a manner consistent with a single meaning, that is donefor the sake of clarity only so as to not confuse the reader, and it isnot intended that such claim term be limited, by implication orotherwise, to that single meaning. Finally, unless a claim element isdefined by reciting the word “means” and a function without the recitalof any structure, it is not intended that the scope of any claim elementbe interpreted based on the application of 35 U.S.C. § 112, sixthparagraph.

System Overview

The techniques of the present disclosure may allow users of one or moredevices, such as smartphones or tablet computers, to initiatecommunications (e.g., phone calls) or other interactions (e.g., visitsto a website) by selecting a distinct area within a displayed image,document, website, etc. (e.g., displayed on a user interface of the oneor more devices). In particular, a computing device may register orassociate certain distinct areas within images, documents, websites,etc. with certain contacts, which contacts may be people or otherentities, such as businesses. When a user selects (e.g., via a click ortap) a registered distinct area displayed on a certain device, thecertain device may present the user with options for initiatingcommunications or other interactions with an entity (e.g., a business orperson), or the certain device may automatically initiate communicationsor other interactions.

In a first type of scenario (referred to herein as “the firstscenario”), the techniques of the present disclosure may allow a user tocommunicate with people, such as friends, acquaintances, family members,etc., by selecting recognized faces of those people in displayed images.A specialized routine (e.g., a facial recognition routine) may recognizefacial areas of the people within the displayed images, and storedconnection information may associate one or more of the recognizedfacial areas with contact information (phone numbers, email addresses,social media accounts, etc.) for one or more of the people displayed inthe images. For example, a user may view a “gallery” of images on amobile device, and, while viewing the “gallery” of images, select (e.g.,by tapping) a face of a person depicted in one of the images. If theface has been associated with certain contact information for the persondepicted in the image, the mobile device may display options (such ascall, email, share with, etc.) to the user to allow the user tocommunicate with the depicted person.

In a second type of scenario (referred to herein as “the secondscenario”), the techniques of the present disclosure may allow a user tocommunicate with or otherwise interact with any suitable entity byclicking a distinct area within an image, which distinct area isdetermined to have similarities to one or more reference images. Forexample, a user may select a logo of a business within an image, scanneddocument, website, etc. Based on one or more stored reference imageshaving similarities to the selected logo, a computing device maydetermine relevant communication or interaction information, such asphone numbers, webpages, email addresses, etc., corresponding to thebusiness. The computing device may present this relevant communicationor interaction information to the user to allow the user to initiatecommunications or other interactions, or the computing device mayautomatically initiate communications or other interactions based on thecommunication or interaction information corresponding to the business.Generally, in the second scenario, reference images and contactinformation may correspond to people or any other entities with whichcontact information may be associated, such as businesses,organizations, clubs, websites (e.g., social media networks, blogs, orforums), etc.

FIG. 1 illustrates an example computing environment 100 allowing usersof one or more client devices 102 a and 102 b to communicate withentities (e.g., people or businesses) based on various interactions withimages corresponding to the entities. In particular, the client devices102 a and 102 b may display images to users of the client devices 102 aand 102 b, where at least some of the displayed images include distinctselectable areas. When one of the distinct areas is selected by a user(e.g., with a click, tap, or gesture), components of the computingenvironment 100 may cause an interface to be presented the user, whichinterface allows the user to connect with (via a call, text, socialmedia post, etc.) a contact associated with the selected one of thedistinct areas. In the first scenario, a user may select a face of anindividual pictured in an image to initiate a phone call with thatindividual, or, in the second scenario, a user may select a distinctarea having similarities to one or more reference images, whichreference images are associated with contact information for an entity(e.g., a business). Generally, upon selection of a distinct area withinan image, components of the computing environment 100 may present theuser with a various options (phone call, text message, email, etc.) forcommunicating with an individual pictured in the image or an entitycorresponding to the image.

In some implementations related to the second scenario, the componentsof the computing environment 100 may also allow users to select distinctareas of webpages or other documents displayed by the client devices 102a and 102 b, which distinct areas are recognized as being associatedwith a certain contact. For example, components of the computingenvironment 100 may detect certain business logos, persons, products,etc. pictured in webpages, documents, etc. displayed on the clientdevices 102 a and 102 b. By selecting the recognized distinct areaswithin the webpages or other documents, a user may seamlessly initiatecommunications with the corresponding entity without having to navigateto another interface or otherwise interrupt a workflow.

The high-level architecture of the computing environment 100 may includeboth hardware and software applications, as well as various datacommunications channels for communicating data between the varioushardware and software components. The exemplary computing environment100 shown in FIG. 1 may include additional, fewer, or alternatecomponents, including those discussed elsewhere herein.

The client device 102 a may be, by way of example, a desktop computer,gaming system, or other personal computing device that is incommunicative connection with a general network 104 via one or morewired connections and a network interface 105. The client device 102 bmay be, by way of example, a smartphone, a tablet computing, a gamingdevice, a laptop computer, or other personal computing device that is incommunicative connection with a general network 104 and/or atelephone/data network 106 via one or more wireless connections (e.g.,wireless connections to a wireless access point 108 and/or to a cellularbase station 110). Although, one client device 102 a having wiredconnections (e.g., a “wired device”) and one client device 102 b havingwireless connections (e.g., a “wireless device”) is depicted in FIG. 1 ,each of the client devices 102 a and 102 b may have any suitable numberof wired and/or wireless connections to the general network 104 and thetelephone/data network 106. Moreover, computing environments allowingusers to communicate with entities, based on various interactions withimages, may include any number (one, two, three, four, etc.) of clientdevices each having any suitable number of wired and/or wirelessconnections to a variety of networks. Although not shown FIG. 1 , theclient device 102 b may include all or many of the components depictedin client device 102 a.

The general network 104 may include a local area network, the Internet,a metropolitan area network (MAN), a wide area network (WAN), or anyother suitable network allowing the client devices 102 a and 102 b toaccess webpages, send emails, download content, communicate withcontacts (via Internet or Voice Over IP calls, instant messages, socialmedia posts, etc.), receive software updates, etc. The telephone/datanetwork 106 may also allow the client devices 102 a and 102 b to accesswebpages, send emails, download content, communicate with contacts, etc.However, the telephone/data network 106 may also include a PublicSwitched Telephone Network (PSTN) (e.g., including a cellular network ofa cellular phone service provider) allowing the client devices 102 a and102 b to call a variety of customer premise equipment (CPE), such ascellular phones, landline phones, etc. The telephone/data network 106may also facilitate the sending and receiving of text messages (e.g.,Short Message Service (SMS) messages) to and from the client device 102b.

The client device 102 a may include one or more non-transitory memories112 adapted to store a plurality of applications 114 and a plurality ofroutines 116, 118, and 120. The applications 114 and routines 116 and118 may implement at least some of the methods described herein whenexecuted by one or more processors 122. Further, the memories 112 maystore a plurality of images 124 captured by an image capture device ofthe client device 102 a (not shown), downloaded to the client device 102a, etc. and a plurality of contact records 120. The one or more memories112 may include one or more forms of non-transitory, fixed and/orremovable memory, such as read-only memory (ROM), electronicprogrammable read-only memory (EPROM), random access memory (RAM),erasable electronic programmable read-only memory (EEPROM), and/or otherhard drives, flash memory, MicroSD cards, and others.

The plurality of applications 114 may include any suitable applications“installed” on the client device 102 a or part of an operating system ofthe client device 102 a. By way of example, the plurality ofapplications 114 may include a web browser application, an emailapplication, one or more social media applications, a Voice Over IP(VOIP) application, an image and/or video capture application, a newsapplication, a weather application, etc.

The contact records 120 may indicate manners in which a user of theclient device 102 a may initiate communications with each of a pluralityof contacts (e.g., individuals, businesses, or other entities). Forexample, the contact records 120 may include telephone numbers, emailaddresses, social media usernames, etc. of a user’s friends, familymembers, coworkers, etc. The contact records 120 may also includecontact information (e.g., telephone number or email addresses) forindividuals or other entities, which contact information was receivedvia the general network 104 along with webpages, documents, or othercontent.

The client recognition routine 116 may, when executed by the one or moreprocessors 122, detect certain distinct areas within images, such as theimages 124. The client recognition routine 116 may also recognizecertain distinct areas within images having similarities to one or morereference images. In the first scenario, the client recognition routine116 may include specialized algorithms configured to detect faces ofpeople within images. Such specialized algorithms may include, by way ofexample, principle component analysis, linear discriminant analysis,Bayesian classification, and/or elastic bunch graph matching algorithms.In some cases, one or more of the specialized algorithms utilized by theclient recognition routine 116 may be supervised or unsupervisedlearning algorithms that are specifically trained (e.g., based on one ormore sets of training data) to detect or recognize faces within images.

In the second scenario, the client recognition routine 116 may includespecialized algorithms configured to identify and/or compare distinctareas within images to one or more reference images. In particular theclient recognition routine 116 may compare features, such as color,shape, edges, entropy, texture, etc., of selected or detected areaswithin image to those features of one or more references images. If thefeatures are similar (e.g., having values within a pre-determinedthreshold), the client recognition routine 116 may determine that theidentified distinct areas are similar to the one or more referenceimages. To identify and compare distinct areas within images the clientrecognition routine 116 may utilize any number and combination oftransforms (blurring, converting a color image to a black and whiteimage, etc.) to the data representing the images.

The image to contact connection routine 118 may, when executed by theone or more processors 122: (i) cause detected areas within images(e.g., detected by the client recognition routine 116) to be associatedwith certain entities (e.g., individuals, businesses, or other entitiesindicated in the contact records 120); and/or (ii) identify entities(and corresponding contact information) associated with selecteddistinct areas within one or more images or within webpages or otherdocuments. In some implementations, the image to contact connectionroutine 118 may communicate with remote computing devices (e.g.,servers) via the general network 104 to determine if detected areaswithin images are to be associated with a certain contact, to causedetected areas within images to be associated with certain contacts, toretrieve information about a contact (phone numbers, email addresses,etc.), or to perform any other functions related to associating aportion of an image with a contact or utilizing an association of aportion of an image with a contact.

In some implementations, users of the client device 102 a may viewimages, select distinct areas within images, and initiate communicationsor other interactions with contacts via interactions with a displaydevice 126 and a user interface 128. The display device 126 may includeany suitable display utilized with or in mobile or stationary computingdevices, such as Light Emitting Diode (LED) displays, organic lightemitting diode (OLED) displays, Liquid-crystal displays (LCDs), etc. Theuser interface 128 may include any suitable combination of touchscreens,buttons, keyboards, etc.

In some implementations, the client devices 102 a and 102 b may becommunicatively connected to an image-based connection server 130 viathe general network 104 (and/or the telephone/data network 106). Theimage-based connection server 130 may include one or more non-transitoryserver memories 132 storing one or more routines 134, 136, and 137 that,when executed by one or more processors 138, may at least partiallyimplement some the methods discussed herein. In particular, the serverrecognition routine 134 may detect certain distinct areas within imagesand/or recognize certain distinct areas within images havingsimilarities to one or more reference images, such as one or morereference images 140 stored on a data storage device 142. The serverrecognition routine 134 may include specialized algorithms similar tothose implemented by the client recognition routine 116 and/or otherspecialized algorithms to detect and/or recognize distinct areas withinimages. Generally, distinct areas (e.g., faces or logos) within imagesmay be detected and/or recognized, as discussed further below, by theimage-based connection server 130 (e.g., with the server recognitionroutine 134) alone, by the client devices 102 a and 102 b alone (e.g.,with the client recognition routine 116), or by any suitable combinationof the image-based connection server 130 and the client devices 102 aand 102 b. That is, the functionality of detecting or recognizingdistinct areas within images may be split in any suitable manner betweenthe image-based connection server 130 and the client devices 102 a and102 b.

The association recording and providing routine 136 may, when executedby the processors 138: (i) record (e.g., as connection information 144)associations between distinct areas within images and contacts, whichassociations are determined by the image-based connection server 130and/or the client devices 102 a and 102 b; and/or (ii) provideindications of associations between distinct areas within images andcontacts to the client devices 102 a and 102 b (e.g., via the networks104 and 106 and a network interface 146). As with the detecting orrecognizing functionality discussed above, functionalities ofassociating detected distinct areas with contacts, retrieving dataindicative of such associations, and/or utilizing such associations maybe split in any suitable manner between the image-based connectionserver 130 and the client devices 102 a and 102 b.

The security routine 137 may, when executed by the processors 138,regulate which devices (e.g., the client device 102 a and 102 b) and/orwhich users of devices may have access to, add to, delete, or otherwisemodify certain data stored in the image to contact database 142 orstored in the memory 112. For example, the security routine 137 mayauthorize certain users to share certain portions of the connectioninformation 144, the contact records 120, and/or the images 124 withother users, or the security routine 137 may authorize certain users toaccess certain portions of the connection information 144, the contactrecords 120, and/or the images 124. For example, a user of the clientdevice 102 a may associate portions of the contact records 120 withcertain distinct areas within the images 124. These example associationsmay be indicated in the connection information 144. In this example, thesecurity routine 137 may allow or deny a user of the client device 102 baccess the associations stored in the connection information (e.g., upona request sent from the client device 102 b to the image-basedconnection server 130). The security routine 137 may regulate whichdevices and/or which users of devices may have access to, add to,delete, or otherwise modify certain data stored in the image to contactdatabase 142 or stored in the memory 112 based on any suitable types andcombinations of criteria indicated in the security information 145. Byway of example, the security information 145 may store data indicativeof usernames, passwords, identifications of devices (e.g., anInternational Mobile Station Equipment, or IMEI, number), preferences ofone or more users, user names, user locations, etc.

Image-Based Initiation of Communications

FIGS. 2A, 2B, 2C, and 2D illustrate example interfaces in which users ofa client device 200 may communicate with contacts based on variousinteractions with displayed images (e.g., in the first scenario). One ofthe client devices 102 a or 102 b may display interfaces such as thoseillustrated in FIGS. 2A, 2B, 2C, and 2D. Further, the image-basedconnection server 130 and/or the one of the client devices 102 a or 102b may generate at least some of the content displayed in interfaces suchas those illustrated in FIGS. 2A, 2B, 2C, and 2D, for example.

FIG. 2A illustrates a gallery interface 202 which may be displayed onthe client device 200. The gallery interface 202 may present, to a userof the client device 200, multiple images (e.g., arranged as “tiles”)such that the user may “scroll” through the multiple images (e.g., viaswiping gestures on a touchscreen) to view the multiple images. Forexample, the gallery interface 202 may present images captured by theclient device 200 (e.g., with a built in camera) or downloaded to theclient device 200 from websites, documents, text messages, social mediaposts, etc. Although each of the images in the example gallery interface202 depicts people, images presented in gallery interfaces may generallyinclude any subject matter.

As the user is viewing the multiple images via the gallery interface202, the user may wish to view a certain image at a larger size than thesize of the certain image in the gallery interface 202. As such, a usermay select (e.g., with a click or tap) the image, and the client device200 may present a single-image interface 220 to the user, as depicted inFIG. 2B. In the single-image interface 220, a selected one of themultiple images displayed in the gallery interface 202 may be displayedover a majority of the screen of the client device 200.

In the first scenario, at least some of the images presented in thegallery interface 202 and/or the single-image interface 220 includeimages of people (e.g., friends or family of the user). In such cases, auser may select a face or other pictured portion of a certain person toinitiate a communication with that person. As illustrated in FIG. 2C,the user may select a face of one of the people pictures in thesingle-image interface 220, as illustrated by the selected area 222. Insome implementations, the user may select the selected area 222 by agesture or other interaction with the client device 200 that isspecifically utilized to initiate communications with people or otherentities associated with images. For example, the user may utilize atouchscreen gesture, such as a tap and hold (e.g., holding the selectedarea 222 for a pre-determined amount of time), swipe in one or moredirections, double tap, etc. gesture, that is different from othertouchscreen gestures utilized for other functions on the client device200, such as a tap, pinch, etc. Generally, however, an interface mayutilize any suitable user interactions to initiate communications withpeople or other entities associated with images, such as in the secondscenario.

The selected area 222 (e.g., the face of person pictured in the image)may be associated with a certain contact of the user. For example, theimage to contact connection routine 118 and/or the association recordingand providing routine 136 may store an association between the selectedarea 222 and a certain contact (e.g., a certain family member or friendof the user), where the certain contact has contact information storedin the contact records 120, for example. Such associations may be basedon previous detections of distinct areas (e.g., via facial recognitiontechniques) and previous user interactions, as further discussed withreference to FIG. 8 , or may be based on previously detections ofdistinct areas similar to reference images, as discussed further withreference to FIG. 10 .

When the user selects the selected area 222, the client device 200 maypresent a list of selectable communication types 230 to the user, asillustrated in FIG. 2D. That is, the client device 200 may present theuser with a variety of options for communicating with the personassociated with the selected area 222. In the first scenario, theselected area 222 may be associated with a contact of the user named“John Smith,” which association may be indicated by data stored in thememory 112 or the data storage device 142. In this scenario, the list ofselectable communication types 230 may include options of calling “JohnSmith,” sharing the photo with “John Smith” via a social media service,emailing “John Smith,” sending a text message to “John Smith,” etc.based on contact information about “John Smith” stored on the clientdevice 200, such as telephone numbers, social media usernames, emailaddresses, etc.

In some implementations, such as those illustrated in FIGS. 2A, 2B, 2C,and 2D, a user does not have to interrupt a normal workflow (e.g., ofviewing images) to initiate a communication with a contact. Rather, theuser may easily and seamlessly initiate communications when prompted todo so by a certain image. Moreover, elderly or handicapped users mayeasily initiate communications from an intuitive and visual interface,such as a gallery of images, without having to scroll through orotherwise navigate a lengthy list of contacts.

FIG. 3 is a flow diagram of an example method 300 for initiatingcommunications with a contact based on user interactions with imagescorresponding to the contact. The method 300 may be implemented by anysuitable combination of the client devices 102 a and 102 b and theimage-based connection server 130 including any one of the clientdevices 102 a and 102 b and the image-based connection server 130 actingas a standalone device, for example.

First, distinct areas within one or more images may be registered with acertain contact (block 302), such as an individual (e.g., a friend,family member, coworker, or other acquaintance of a user) or otherentity (e.g., a business or other organization). Registering the imagesmay include, among other things, detecting or recognizing distinct areaswithin images, receiving indications from users that detected distinctareas are to be associated with certain contacts, and storingindications of associations between distinct areas and contacts, in animplementation. Such registering or associating of distinct areas withinimages is further discussed with reference to FIGS. 8 and 10 .

Returning to FIG. 3 , an interface is presented to a user in which theuser may view the one or more images (block 304). The interface may be,as illustrated in FIGS. 2A, 2B, and 2C, a multiple or single image“gallery” in which a user can view captured or downloaded images.However, generally, the interface may include any interface of anapplication executing on a client device in which images are displayedto a user. For example, the interface may include a web browser, aninterface of a social media application, a photo and/or video editingapplication, a photo and/or video sharing application, a mappingapplication, a news application, a weather application, etc.

Although not illustrated in FIGS. 2A, 2B, and 2C, some interfaces mayemphasize selectable distinct areas within images via one or more visualelements overlaid or embedded within the images. FIGS. 4A and 4Billustrate example interfaces 400 and 420 (displayed by a client device402), respectively, including one or more visual elements that highlightselectable distinct areas within images. Specifically, FIG. 4Aillustrates one or more boxes 404 and FIG. 4B illustrates one or moretextual labels 422. Generally, interfaces may highlight distinctselectable areas within images via any combination of overlaid orembedded shapes, text, colors, textures, etc.

A selection of a distinct area within one of the images displayed in theinterface is received (block 306). As discussed further with referenceto FIG. 2C, a user may click or tap on the face of a person within animage to initiate a communication with that person, in the firstscenario. Generally, a user may utilize any suitable user interfaceinteractions to select any distinct and registered area within an imageto initiate a communication with a person or an entity (e.g., abusiness).

Contact information is then retrieved for a contact associated with theselected distinct area (block 308). In some implementations, a clientdevice, such as one of the client devices 102 a and 102 b, may retrievecontact information based on stored indications of the associations andstored contact information on the client device (e.g., within thecontact records 120). In other implementations, a client device maycommunicate with any number of remote computing devices (e.g., theimage-based connection server 130) to retrieve contact informationassociated with registered distinct areas. That is, client devices may,in some implementations, not locally store data indicative ofassociations between contacts and distinct areas with images or dataincluding contact information (e.g., telephone numbers) for contacts.Rather, client device may retrieve such data from remote computingdevices, or servers, in an implementation.

Once the contact information is retrieved, a list of options forcommunicating with the contact is presented to the user (block 310). Forexample, as illustrated in FIG. 2D, a client device may display a listof options including options to call, text, email, etc. the contactassociated with the selected distinct area.

Although, FIGS. 2A, 2B, and 2D emphasize distinct areas corresponding tothe faces of people within distinct areas, other images may be displayedon a client device with associations to other entities or organizations.In some implementations, users of a client device may customize one ormore interfaces of the client device to display certain icons or imagesallowing the user to quickly communicate with certain contacts withouthaving to navigate a contact list, utilize a keypad to dial a number,etc. FIGS. 4A and 4B illustrate example icons 450 displayed within theinterfaces 400 and 420.

The icons 450 may be registered or associated with certain contacts,such that, when selected, a communication is initiated with the certaincontacts or an interface is presented to a user such that the user caneasily initiate a communication. In some implementations, the icons 450may be associated with one or more emergency contacts, such as localpolice contacts, emergency medical contacts, insurance contacts, firedepartments, etc. In general, however, the icons 450 may include beassociated with any suitable contacts, such as family members frequentlycontacted by a user, businesses frequently contacted by a user, etc.Thus, the icons may allow elderly or handicapped individuals to easilyand quickly communicate with important contacts without having tonavigate a contact list, utilize a keypad of a phone, etc.

In some implementations, the icons 450 may be customizable by a user ofthe client device 402. A user may select, download, or otherwiseretrieve certain images to be utilized as the icons 450, and the usermay associate any contacts and/or types of communication (phone, email,etc.) with the icons 450, for example. Although four icons 450 areillustrated in FIGS. 4A and 4B, any suitable number of icons may beutilized by a client device. Further, the icons 450 may be displayed atany suitable locations within interfaces of client devices, such asalong the top or side of interface, in expandable menus that expand upon“hovering” over certain areas of interfaces, etc.

FIGS. 5A, 5B, and 5C illustrate another interface 500 (displayed on aclient device 502) in which another type of image is registered with acontact, such that a user may communicate with the contact by selectingthe image. The interface 500 may, for example, be a web browserinterface in which a webpage is displayed, or the interface 500 may bean application in which a document (e.g., a PDF document or a scanneddocument) is displayed. In any event, the content displayed within theinterface 500 includes a logo 504 associated with a contact. The contactmay, for example, be a business corresponding to the logo 504, such asan insurance company, a car company, a computer company, etc., or anyother organization with a registered (i.e., registered or associatedwith a contact) logo, such as a government organization, non-profitorganization, club, university, etc.

The client device 502 may, when the logo 504 is selected (as illustratedby the selected area 506 in FIG. 5B), initiate a communication with theentity (e.g., business) corresponding to the logo 504. For example, theclient device 502 may, upon selection of the logo 504, display a box520, as illustrated in FIG. 5C, in which a user may confirm a choice tocommunicate with the entity corresponding to the logo 504 via a phonecall. However, in some implementations, the client device 502 mayautomatically initiate a communication, such as a phone call, uponselection of the logo 504 or may display other suitable interfaces, suchas an interface similar to the interface 230.

Registering or Associating Images With Contacts

FIG. 6 illustrates a detection of distinct areas 602 a-602 p within aplurality of images 600 a-600 n (e.g., utilized in the first scenario).The client devices 102 a and 102 b and/or the image-based connectionserver 130 may implement functionality to perform the detection of thedistinct areas 602 a-602 p, for example.

In the first scenario, the client devices 102 a and 102 b and/or theimage-based connection server 130 may implement one or more algorithms(e.g., in the client recognition routine 116 and/or in the serverrecognition routine 134) to detect faces of people pictured in theimages 600 a-600 n. In such a case, the distinct areas 602 a-602 p mayinclude portions of the images 600 a-600 n including faces of people.For example, the client devices 102 a and 102 b and/or the image-basedconnection server 130 may implement rule-based facial recognitionmethods based on known relationships between facial features (e.g.,relative locations of eyes, nose, and mouth). Algorithms implemented bythe client devices 102 a and 102 b may also account for variations inlighting, viewpoint, locations of facial features, etc. such that thealgorithms are “feature invariant.”

In some implementations, a first algorithm implemented by the clientdevices 102 a and 102 b and/or the image-based connection server 130 maydetect the locations of distinct objects, such as faces or logos, withinimages, documents, webpages, etc. without distinguishing between thedistinct areas themselves. That is, as depicted in FIG. 6 , the clientdevices 102 a and 102 b and/or the image-based connection server 130 maydetect the locations (e.g., represented in pixel or other dimensions) ofall faces within the plurality of images 600 a-600 n and/or respectiveareas covered by the faces. Subsequently, a second algorithm implementedby the client devices 102 a and 102 b and/or the image-based connectionserver 130 may recognize particular faces. However, it is understoodthat a single or any other number of algorithms (three, four, etc.) mayimplement such functionalities.

FIG. 7 illustrates another detection or recognition of particular onesof the distinct areas 602 a-602 n in the images 600 a-600 n (e.g.,utilized in the first scenario). The client devices 102 a and 102 band/or the image-based connection server 130 may implement functionalityto perform the detection of the particular ones of the distinct areas602 a-602 n in place of or along with detections similar to thedetection illustrated in FIG. 6 , for example.

In particular, the client devices 102 a and 102 b and/or the image-basedconnection server 130 may implement one or more algorithms to detect anumber of particular faces of people pictured in the images 600 a-600 n,in the first scenario. That is, the algorithms implemented by the clientdevices 102 a and 102 b and/or the image-based connection server 130 mayidentify all areas 705 a, 705 b, and 705 c corresponding to faces of afirst person (in a first step 700), all areas 715 a and 715 bcorresponding to faces of a second person (in a second step 710), etc.Of course, the client devices 102 a and 102 b and/or the image-basedconnection server 130 may identify any number of distinct areas(including areas picturing objects other than faces) in any number ofsteps.

To detect particular distinct areas within images, which areas aresimilar to one another (e.g., faces of a single person), the clientdevices 102 a and 102 b and/or the image-based connection server 130 mayimplement template (e.g., reference image) or appearance based facialrecognition methods. For example, the client devices 102 a and 102 band/or the image-based connection server 130 may detect a first facewithin a first image (e.g., as depicted in FIG. 6 ) and subsequentlyutilize that first face as a reference face to detect a group of similarfaces (i.e., faces of the same person) in other images. Alternatively oradditionally, the client devices 102 a and 102 b and/or the image-basedconnection server 130 may utilize learning or classification algorithms(e.g., trained on a set of training data) to near simultaneously detectfaces within images and group the faces into groups of similar faces,each group corresponding to a single person.

By way of example and without limitation, the client devices 102 a and102 b and/or the image-based connection server 130 may implement shapetemplate, active shape model, eigenvector decomposition and clustering,distribution-based, neural network based, support vector machine, Bayesclassifier, hidden Markov model, or information-theoretical basedalgorithms to detect and/or recognize certain distinct areas withinimages. Generally, any combination of these or other suitable facialrecognition or computer vision techniques may be utilized by the clientdevices 102 a and 102 b and/or the image-based connection server 130.

FIG. 8 is a flow diagram of an example method 800 for registeringdetected areas within images with a contact. The method 800 may beimplemented by any suitable combination of the client devices 102 a and102 b and/or the image-based connection server 130 to facilitate thefirst scenario, for example.

First, distinct areas within images are detected (block 802). Asdescribed further above with reference to FIG. 6 and, the client devices102 a and 102 b and/or the image-based connection server 130 mayimplement a number of computer vision algorithms to detect or recognizedistinct areas, such as faces, other portions of a human body, entirehuman bodies, objects, logos, icons, etc., within images. When detected,algorithms implemented by the client devices 102 a and 102 b and/or theimage-based connection server 130 may store indications of the detecteddistinct areas in the memory 112, the memory 132, the data storagedevice 142, or a combination thereof, in an implementation. For example,the algorithms may output and/or store locations (e.g., in pixelvalues), dimensions, labels (e.g., “face1,” “face2,” etc. or “logo1,”“logo2,” etc.), etc. of distinct areas within the images.

An interface is then provided to a user of a client device allowing theuser to view images in which the distinct areas have been detected(block 804). For example, the interface may include a gallery orsingle-image interface similar to the interfaces depicted in FIGS. 2A,2B, and 2C. In some cases, the interface may also highlight the detecteddistinct areas within the images in a manner similar or dissimilar tothat depicted in FIGS. 4A and 4B.

A selection of one of the displayed distinct areas is received (block806). A user may click, tap, utilize a gesture, etc. to select one ofthe displayed distinct areas. Subsequently, another interface may bepresented to the user in which the user may associate the selecteddistinct area with a certain contact (block 808). For example, theclient device 102 a may present a user with an interface displaying atleast some of the contact information (e.g., names, phone numbers, emailaddresses, etc.) included in the contact records 120. In such a case, auser may scroll through the contact information and select a particularcontact (e.g., by name “John Smith”) to associate the particular contactwith the selected distinct area. An indication of the association maythen be stored (e.g., by the image-to-contact connection routine 118 orthe association recording and providing routine 136 in the memory 112 orthe data storage device 142) (block 810).

Further, the client devices 102 a and 102 b and/or the image-basedconnection server 130 may recognize all other distinct areas within aplurality of images that are substantially similar to the selecteddistinct area. Data indicating a similar association between thesedistinct area and the particular contact may also be stored.

In this manner, the client devices 102 a and 102 b and/or theimage-based connection server 130 may store associations betweenparticular detected or recognized distinct areas such that subsequentusers (e.g., elderly or handicapped users) may easily initiatecommunications (e.g., via the method 300), in an implementation.Although the example method 800 illustrates an association of a singlecontact with one or more distinct areas, the method 800 may be repeatedand or otherwise adjusted such that user may sequentially or nearsimultaneously associate groups of distinct areas with multiplecontacts.

Although the detection of faces in emphasized in FIGS. 6 and 7 , anyareas of images picturing distinct objects or features may be detectedor recognized in images by the client devices 102 a and 102 b and/or theimage-based connection server 130. FIG. 9 , for example, illustrates adetection or recognition of a logo 900 within a webpage 902 and anotherdocument 904, such as a PDF file or scanned document. In the examplerecognition of the logo 900 illustrated in FIG. 9 , the client devices102 a and 102 b and/or the image-based connection server 130 may utilizea reference-image based technique to detect the logo 900 in the webpage902 and the document 904, as described with reference to the secondscenario. That is, algorithms utilized by the client devices 102 a and102 b and/or the image-based connection server 130 may computecorrelations between a reference image 910 of the logo 900 and images orportions of images within the webpage 902 and the document 904. Thealgorithms may identify areas 906 with high correlations as instances ofthe logo 900.

FIG. 10 is an example method 1000 for detecting or recognizing distinctareas within images based on a reference image. The method 800 may beimplemented by any suitable combination of the client devices 102 a and102 b and/or the image-based connection server 130 to facilitate thesecond scenario, for example.

One or more distinct areas may be detected within images (1002). Forexample, a user may view or otherwise actively interact with a document(e.g., PDF, word processing, spreadsheet, etc. document), image, scannedfile (letter, form, advertisement, page of a magazine, etc.), etc.(referred to below as simply the “particular document”) on a device,such as the client device 102 a. When viewed or actively interacted withon the client device 102 a, the client device 102 a (e.g., via theclient recognition routine 116) or the image-based connection server 130(e.g., via the server recognition routine 134) may identify one or moredistinct areas within the particular document. The distinct areas maycorrespond to logos, titles, blocks of text, images of particularobjects, etc., but, in some implementations, the client device 102 a orthe image-based connection server 130 may only detect distinct areas atblock 1002. That is, the client device 102 a or the image-basedconnection server 130 may not identify what each of the distinct areasrepresents, in the implementations. The client device 102 a or theimage-based connection server 130 may only detect the distinct areas.

A selection of one of the distinct areas is received (block 1104). Auser of one of the client device 102 a or 102 b may select (e.g., clickor tap on) one of the distinct areas within an interface in which theimages (including the distinct areas) are displayed. For example, theuser may select the distinct area within a document viewer (e.g., wordprocessor), PDF viewer, web browser, etc. by clicking on the distinctarea with a mouse or by tapping the distinct area on a touchscreen. Insome scenarios, the user may select the distinct area from any number ofapplications without interrupting a normal workflow of the applications(e.g., without exiting the applications).

The selected distinct area may be matched or correlated with a referenceimage (block 1006). For example, correlations between texture, color,edges, text, etc. within the reference image and similar features withinthe detected distinct areas may be computed by the client devices 102 aand 102 b and/or the image-based connection server 130. The referenceimage may be an image stored in the reference images 140, and the clientdevices 102 a and 102 b and/or the image-based connection server 130 mayretrieve the reference image from the reference images 140 whencomparing the reference image to the selected distinct area. A referenceimage having substantially similar features to the selected distinctarea may be considered to match the reference image. In someimplementations, if no matching reference image is found, the method1000 may include notifying the user that no contact or interactioninformation is available for the selected distinct area.

In some implementations, the client devices 102 a and 102 b and/or theimage-based connection server 130 may compare the selected distinct areawith all of the reference images 140 stored in the image to contactdatabase 142. In other implementations, the client devices 102 a and 102b and/or the image-based connection server 130 may compare the selecteddistinct area with only some of the reference images 140. For example,the client devices 102 a and 102 b and/or the image-based connectionserver 130 may sequentially compare the selected distinct area withinthe particular document to the reference images 140 until a match isfound to a particular one of the reference images 140 or until theselected distinct area is compared with all of the reference images 140.In other cases, the client devices 102 a and 102 b and/or theimage-based connection server 130 may compare the selected distinct areawith two or more of the reference images 140 in parallel (e.g.,simultaneously). In still other examples, the client devices 102 a and102 b and/or the image-based connection server 130 may compare theselected distinct area with only some of the reference images, and/orthe client devices 102 a and 102 b and/or the image-based connectionserver 130 may narrow the reference images by one or more detectedfeatures of the selected distinct area (e.g., narrowing the referenceimages 140 to only black and white images, to only images includinground features, to only images including a certain number of edges,etc.).

Upon matching the selected distinct area to the reference image, contactor interaction information is retrieved (block 1008), where the contactor interaction information corresponds to the reference image. Thereference image may be registered, for example, according to the examplemethod 800 or another suitable method to associate the reference imagewith an entity, such as a person or business. The connection information144 may indicate the association, and, thus, the client devices 102 aand 102 b and/or the image-based connection server 130 may retrieve atleast some of the connection information 144. In some implementations,the connection information 144 may itself list contact and/orinteraction information (addresses of webpages, email addresses, phonenumbers, social media accounts, etc.) facilitating communications orinteractions with an entity corresponding to the reference image. Inother implementations, portions of the connection information 144 maypoint to other data indicating the contact or interaction information.For example, the connection information 144 may indicate that thereference image corresponds to a customer service phone number of abusiness, and, based on that indication, the client devices 102 a and102 b and/or the image-based connection server 130 may retrieve thecustomer service phone number of the business from separate contactrecords, such as the contact records 120, or from publically availablecontact records (e.g., available via the Internet).

In some implementations, the retrieved contact information at block 1008of method 1000 may be retrieved based on correspondences with thematched reference image and based on additional information. Theconnection information 144 may associate the reference image, with whichthe selected distinct area is matched, with multiple different typesand/or numbers of contact records. For example, for a single referenceimage, the connection information 144 may list multiple phone number,multiple websites, multiple email addresses, etc. Then, based onadditional information specific to the device (e.g., client device 102a) and/or user, the image-based connection server 130 may retrieve onlycertain of the multiple phone number, multiple websites, multiple emailaddresses, etc. to utilize in providing the user withcontact/interaction options. In one scenario, the selected distinct areamay be a logo of a business, and the image-based connection server 130may retrieve associated contact records from the connection information144 including multiple phone numbers for the business. The image-basedconnection server 130 may also retrieve location information from theclient device 102 a indicating a current location (e.g., via GPScoordinates) of the client device 102 a. Utilizing the multiple phonenumbers and the current location, the image-based connection server 130may provide the user with an option to communicate with the business viaonly one of the multiple phone numbers, where the one of the multiplephone numbers corresponds to a branch or office of the business that isproximate to the current location. Generally, the image-based connectionserver 130 may retrieve and/or select certain contact records based onassociations with a reference image and based on technical capabilitiesof a client device (e.g., ability to text message or ability to browsethe Internet), current or past geographical locations of a clientdevice, current or past communications or interactions initiated by aclient device, or other suitable properties of the client device.

An interface may then be provided to a user to allow the user tocommunicate with the contact (associated with the matched referenceimage) or otherwise interact with the contact (block 1010). For example,the client devices 102 a and/or the image-based connection server 130may cause an interface substantially similar to that illustrated inFIGS. 5A, 5B, and 5C to be presented on the client device 102 a.

Although the method 1000 indicates that a plurality of distinct areasare detected within an image, one distinct area is selected, and the onedistinct area is matched with one reference image, implementations mayallow multiple of the detected distinct areas to be matched with one ormore reference images. For example, the image-based connection server130 may match every, or at least more than one, detected distinct areawith a corresponding reference image. The image-based connection server130 may then cause an interactive version of the particular document tobe displayed to a user allowing the user to select any number of thedetected distinct areas, which distinct areas are already matched toreference images. In another example, the image-based connection server130 may match one or more selected distinct areas with multiplereference images (e.g., stored in the reference images 140).

Additional Considerations

Upon reading this disclosure, those of ordinary skill in the art willappreciate still additional alternative structural and functionaldesigns for system and a method for assessing the performance ofparticular operators of vehicles or machines. Thus, while particularembodiments and applications have been illustrated and described, it isto be understood that the disclosed embodiments are not limited to theprecise construction and components disclosed herein. Variousmodifications, changes and variations, which will be apparent to thoseskilled in the art, may be made in the arrangement, operation anddetails of the method and apparatus disclosed herein without departingfrom the spirit and scope defined in the appended claims.

The particular features, structures, or characteristics of any specificembodiment may be combined in any suitable manner and in any suitablecombination with one or more other embodiments, including the use ofselected features without corresponding use of other features. Inaddition, many modifications may be made to adapt a particularapplication, situation or material to the essential scope and spirit ofthe present invention. It is to be understood that other variations andmodifications of the embodiments of the present invention described andillustrated herein are possible in light of the teachings herein and areto be considered part of the spirit and scope of the present invention.By way of example, and not limitation, the present disclosurecontemplates at least the following aspects:

1. A computer-implemented method comprising:

-   detecting, by one or more processors, a distinct area within an    image;-   comparing, by the one or more processors, detected features of the    distinct area within the image to reference features corresponding    to a reference image;-   determining, by the one or more processors, that the detected    distinct area matches the reference image based on the comparison    between the detected features and the reference features;-   receiving, from a user of a client device, an indication that the    user selects the detected distinct area within the image;-   retrieving, by the one or more processors, contact information    corresponding to the reference image, the contact information    indicating a method of contacting an entity represented by the    reference image; and-   causing, by the one or more processors, the client device to display    an interface allowing the user to contact the entity according to    the method of contacting the entity.

2. The method of aspect 1, wherein comparing the detected features ofthe distinct area within the image to the reference featurescorresponding to the reference image includes, for each of a pluralityof stored images including the reference image, comparing the detectedfeatures of the distinct area to stored image features corresponding tothe stored image.

3. The method of aspect 2, wherein comparing the detected features tothe stored image features for each of the plurality of stored imagesincludes sequentially comparing the detected features to the storedimage features for each of the plurality of stored image untildetermining that the detected distinct area matches the reference image.

4. The method of either aspect 2 or aspect 3, wherein comparing thedetected features to the stored image features for each of the pluralityof stored images includes simultaneously comparing the detected featuresto the stored image features for each of the plurality of stored images.

5. The method of any one of the preceding aspects, wherein comparing thedetected features of the distinct area within the image to the referencefeatures includes comparing a detected color within the distinct areaand a reference color within the reference image.

6. The method of any one of the preceding aspects, wherein comparing thedetected features of the distinct area within the image to the referencefeatures includes comparing a detected edge within the distinct area anda reference edge within the reference image.

7. The method of any one of the preceding aspects, wherein retrievingthe contact information corresponding to the reference image includesretrieving the contact information indicating a plurality of methods ofcontacting the entity including the method of contacting the entity, and

wherein causing the client device to display the interface includescausing the client device to display the interface allowing the user toselectively contact the entity according to one of the plurality ofmethods of contacting the entity.

8. The method of any one of the preceding aspects, further comprisingdetermining the method of contacting the entity based on the retrievedcontact information and based on a property of the client device.

9. The method of aspect 8, wherein the property of the client device isa geographic location of the client device.

10. The method of either aspect 8 or aspect 9, wherein the property ofthe client device is an ability of the client device to contact theentity according to the plurality of methods.

11. A system for facilitating communications, the system comprising:

-   one or more processors; and-   one or more non-transitory memories coupled to the one or more    processors,-   wherein the one or more non-transitory memories include computer    executable instructions specially configuring the computer device    such that, when executed by the one or more processors, the computer    executable instructions cause the one or more processors to:-   detect a distinct area within an image;-   compare features of the distinct area within the image to reference    features corresponding to a reference image;-   determine that the detected distinct area matches the reference    image based on the comparison between the detected features and the    reference features;-   receive an indication that the user selects the detected distinct    area within the image;-   retrieve contact information corresponding to the reference image,    the contact information indicating a method of contacting an entity    represented by the reference image; and-   cause the client device to display an interface allowing the user to    contact the entity according to the method of contacting the entity.

12. The system of aspect 11, wherein the entity is a business.

13. The system of aspect 12, wherein the reference image depicts a logoof the business.

14. The system of either aspect 12 or aspect 13, wherein the contactinformation indicates a phone number of the business, and whereincausing the client device to display the interface allowing the user tocontact the business includes causing the client device to display theinterface allowing the user to call the phone number of the business.

15. The system of any one of aspects 12 to 14, wherein the contactinformation indicates a website of the business, and wherein causing theclient device to display the interface allowing the user to contact thebusiness includes causing the client device to display the interfaceallowing the user to visit the website of the business via a web browserapplication.

16. The system of any one of aspects 12 to 15, wherein the contactinformation indicates an email address of the business, and whereincausing the client device to display the interface allowing the user tocontact the business includes causing the client device to display theinterface allowing the user to email the email address of the business.

17. The system of any one of aspects 11 to 16, wherein the image depictsa scanned document.

18. The system of any one of aspects 11 to 17, wherein the image depictsa website.

19. The system of any one of aspects 11 to 18, wherein the computerexecutable instructions further cause the one or more processors tocause the client device to display the image to the user along with anindication of the detected distinct area within the image, and whereinreceiving the indication that the user selects the detected distinctarea within the image includes receiving the indication that the userselects the detected distinct area on the displayed image.

20. The system of any one of aspects 11 to 19, wherein retrieving thecontact information corresponding to the reference image includesretrieving the contact information indicating multiple methods ofcontacting the entity represented by the reference image; and

wherein causing the client device to display the interface allowing theuser to contact the entity includes causing the client device to displaythe interface allowing the user to contact the entity according to oneor more of the multiple methods of contacting the entity.

We claim:
 1. A computer-implemented method for enabling communicationbetween a user and a first entity, comprising: capturing, by a clientdevice, an image including a distinct area; detecting, by one or moreprocessors, the distinct area within the image, including one or moredetected features of the distinct area; receiving, via interaction witha user interface of the client device, a selection of the distinct areafrom a user; responsive to receiving the selection of the distinct area,comparing, by the one or more processors, the one or more detectedfeatures to one or more reference features corresponding to a referenceimage; determining, by the one or more processors, that the referenceimage matches the distinct area based on the comparison of the one ormore detected features to the one or more reference features; receiving,from the client device, (i) an indication of the selection and (ii) aset of technical capabilities of the client device indicating one ormore available communication channels from a set of communicationchannels; responsive to receiving the indication, retrieving, by the oneor more processors, contact information indicating a plurality ofcontact methods for contacting the first entity represented by thereference image; determining, by the one or more processors, a firstcontact method for contacting the first entity based on the set oftechnical capabilities of the client device, the first contact methodbeing one of the plurality of contact methods for contacting the firstentity; and causing, by the one or more processors, the client device todisplay an interface allowing the user to contact the first entityaccording to the first contact method.
 2. The method of claim 1, whereinthe one or more detected features includes one or more first detectedfeatures and one or more second detected features that are differentthan one another, the reference image includes a plurality of storedreference images, and the method further comprises: identifying, by theone or more processors, which of the plurality of stored referenceimages has one or more first reference features matching the one or morefirst detected features to provide a narrowed subset of the plurality ofstored reference images; and determining, by the one or more processors,that the reference image has one or more second reference features thatmatch the one or more second detected features.
 3. The method of claim1, wherein determining that the reference image matches the distinctarea includes sequentially comparing the one or more detected featuresof the distinct area to the one or more reference features correspondingto each reference image from a plurality of stored reference imagesuntil it is determined that the one or more detected features of thedetected distinct area match one or more reference features of thereference image.
 4. The method of claim 1, wherein determining that thereference image matches the distinct area includes simultaneouslycomparing the one or more detected features of the distinct area to theone or more reference features corresponding to each of two or moreimages, respectively, from a plurality of stored reference images. 5.The method of claim 1, wherein determining that the reference imagematches the distinct area includes comparing a detected color within thedistinct area to a reference color within each reference image from aplurality of stored reference images.
 6. The method of claim 1, whereindetermining that the reference image matches the distinct area includescomparing a detected edge within the distinct area to a reference edgewithin a reference image from a plurality of stored reference images. 7.The method of claim 1, wherein retrieving the contact informationincludes retrieving the contact information indicating a plurality ofmethods of contacting the first entity including the first method ofcontacting the first entity, and wherein causing the client device todisplay the interface includes causing the client device to display theinterface allowing the user to selectively contact the first entityaccording to one of the plurality of methods of contacting the firstentity.
 8. The method of claim 1, further comprising: receiving, fromthe client device, a geographic location of the client device; anddetermining, by the one or more processors, the first contact method forcontacting the first entity based on the set of technical capabilitiesof the client device and the geographic location of the client device.9. The method of claim 1, wherein the one or more detected featuresinclude one or more of: colors; shapes; a number of edges; texture; andimage entropy.
 10. A system for enabling communication between a userand a first entity, the system comprising: one or more processors; andone or more non-transitory memories coupled to the one or moreprocessors, wherein the one or more non-transitory memories includecomputer executable instructions configuring a client device such that,when executed by the one or more processors, the computer executableinstructions cause the one or more processors to: capture an imageincluding a distinct area, detect the distinct area within the image,including one or more detected features of the distinct area, receive,via interaction with a user interface of the client device, a selectionof the distinct area from a user, responsive to receiving the selectionof the distinct area, compare the one or more detected features to oneor more reference features corresponding to a reference image, determinethat the reference image matches the distinct area based on thecomparison of the one or more detected features to the one or morereference features, receive (i) an indication of the selection and (ii)a set of technical capabilities of the client device indicating one ormore available communication channels from a set of communicationchannels, responsive to receiving the indication, retrieve contactinformation indicating a plurality of contact methods for contacting thefirst entity represented by the reference image, determine a firstcontact method for contacting the first entity based on the set oftechnical capabilities of the client device, the first contact methodbeing one of the plurality of contact methods for contacting the firstentity, and cause the client device to display an interface allowing theuser to contact the first entity according to the first contact method.11. The system of claim 10, wherein the one or more features includesone or more first detected features and one or more second detectedfeatures that are different than one another, the reference imageincludes a plurality of stored reference images, and the computerexecutable instructions further cause the one or more processors tocause the one or more processors to: identify which of the plurality ofstored reference images has one or more first reference featuresmatching the one or more first detected features to provide a narrowedsubset of the plurality of stored reference images; and determine thatthe reference image has one or more second reference features that matchthe one or more second detected features.
 12. The system of claim 10,wherein the first entity is a business and the computer executableinstructions further cause the one or more processors to: receive ageographic location of the client device.
 13. The system of claim 12,wherein the reference image depicts a logo of the business.
 14. Thesystem of claim 12, wherein the contact information indicates a phonenumber of a proximate branch of the business, and wherein the computerexecutable instructions further cause the one or more processors tocause the client device to display the interface allowing the user tocontact the proximate branch of the business by displaying the interfaceallowing the user to call the phone number of the proximate branch ofthe business.
 15. The system of claim 12, wherein the contactinformation indicates the website of the business, and wherein thecomputer executable instructions further the one or more processors tocause the client device to display the interface allowing the user tocontact a proximate branch of the business by displaying the interfaceallowing the user to visit the website of the business via a web browserapplication.
 16. The system of claim 12, wherein the contact informationindicates an email address of a proximate branch of the business, andwherein the computer executable instructions further cause the one ormore processors to cause the client device to display the interfaceallowing the user to contact the proximate branch by displaying theinterface allowing the user to email the email address of the proximatebranch.
 17. The system of claim 10, wherein the image depicts a website.18. The system of claim 10, wherein the computer executable instructionsfurther cause the one or more processors to cause the client device to:display the image to the user along with an indication of the distinctarea within the image, and receive the indication that the user hasselected the distinct area within the image by receiving the indicationthat the user has selected the distinct area on the displayed image. 19.The system of claim 10, wherein the computer executable instructionsfurther cause the one or more processors to cause the client device to:display the interface allowing the user to selectively contact aproximate branch of the first entity by displaying one or more of theplurality of contact methods for contacting the proximate branch of thefirst entity.
 20. The system of claim 10, wherein the one or moredetected features include one or more of: colors; shapes; a number ofedges; texture; and image entropy.